package offer.easy.math;

public class OnePlusN {

    //短路陷阱原理
    //将&&操作的双真其中之一，作为条件计算。当A条件不成立时，B条件语句不再计算，从而退出，达到控制结构的作用。
    //其用法，常常与递归共同出现

    public static int andASif(int n) {
        int sum = n;
        boolean flag = sum>0&&(sum=sum--+andASif(sum))>0;
        return sum;
    }

    //Math的函数，求阶和的公式算法 | n(n+1)/2
    public static int powSquare(int n) {
        int sum = (int)(Math.pow(n,2)+n)>>1;
        return sum;
    }

    public static void main(String[] args) {
        System.out.println(andASif(100));
        System.out.println(powSquare(100));
    }

}
